<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    //1. 可以将一个数组分解成用逗号分隔的单个值。
    const arr = [1, 2, 3];
    const [a, b, c] = arr;
    console.log(a, b, c); // 1 2 3
    //2. 可以将一个对象分解成用逗号分隔的单个值。
    const obj = { x: 1, y: 2, z: 3 };
    const { x, y, z } = obj;
    console.log(x, y, z); // 1 2 3
    //3. 可以将多个值合并为一个数组。
    const arr1 = [1, 2, 3];
    const arr2 = [4, 5, 6];
    const arr3 = [...arr1, ...arr2];
    console.log(arr3); // [1, 2, 3, 4, 5, 6]
    //4. 可以将多个属性合并为一个对象。
    const obj1 = { x: 1, y: 2 };
    const obj2 = { z: 3 };
    const obj3 = { ...obj1, ...obj2 };
    console.log(obj3); // { x: 1, y: 2, z: 3 }
    //5. 可以将一个数组或字符串转化为函数参数列表。
    const arr4 = [1, 2, 3];
    const sum = (a, b, c) => a + b + c;
    console.log(sum(...arr)); // 6
  </script>
</body>

</html>